package com.cskaoyan.javase.oop1._12pop;

/**
 * @description: 面向过程的编程思想
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

/**
 * > 引例
 * - 把大象放进冰箱
 *
 * 面向过程:
 *      1,打开冰箱门
 *      2,把大象放进去
 *      3,关闭冰箱门
 *
 * 分析一下优缺点:
 *      1,优点:
 *          面向过程应对简单的问题,不会复杂化,写出来的代码很简洁,逻辑很流畅
 *          和面向对象程序比起来,面向过程无需创建对象,也不需要管理对象,从而执行效率更高,占用内存空间也少
 *
 *      2,缺点:
 *          面向过程的程序每个方法之间耦合性比较大(关联比较强),往往修改任何一个方法都会牵一发而动全身
 *          可维护性差,扩展性差
 *          而且由于方法间关联较强,导致程序员必须对整个流程较为熟悉,对程序员的要求比较高,也不利于分工合作
 *
 *  根据面向过程的优缺点,我们可以总结面向过程程序的用途:
 *          1,适用于小型程序开发
 *          2,在追求效率和空间时,比如算法
 *          3,不能利用于大型的企业级开发
 *
 */
public class Demo {
    public static void main(String[] args) {
        openDoor();
        elephantInto();
        closedDoor();
    }

    //Java虽然具有面向对象的语言特性,但实际上是可以写出面向过程的代码的
    public static void openDoor() {
        System.out.println("冰箱门开了");
    }

    public static void elephantInto() {
        System.out.println("大象走进去了");
    }

    public static void closedDoor() {
        System.out.println("冰箱关门了");
    }

}
